home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 51
/
Amiga Format CD51 (2000-03-10)(Future Publishing)(GB)[!][issue 2000-04].iso
/
-in_the_mag-
/
banging_the_metal
/
qdos
/
qdos4amiga2
/
romsrc
/
sys
/
procs2_asm
< prev
next >
Wrap
Text File
|
2000-01-03
|
2KB
|
114 lines
*/beginfile PROCS2_asm
; --------------------------------------------------------------
; PROCS2_asm - BASIC bits
; - last modified 03/11/97
; QDOS-Amiga sources by Rainer Kowallik
; ...some changes by Mark J Swift
; --------------------------------------------------------------
L064E2:
BAS_BAUD:
JSR GET_INT4(PC) ; modify BSR SEA_PARA(PC)
; search for parameter
BNE.S L064F6
MOVE.L 0(A6,A1.L),D1 ; modify MOVE.W 0(A6,A1.L),D1
MOVEQ #$12,D0 ; MT.BAUD sets bautrate
; (D1.W)
TRAP #1
TST.L D0
BMI.S L064F8
MOVEQ #0,D0
L064F6 RTS
L064F8 MOVEQ #-15,D0 ; bad parameter
RTS
L064FC ; displacements for parameters of BEEP
DC.W 6
DC.W 0
DC.W 2
DC.W 4
DC.W 8
DC.W 10
DC.W 14
DC.W 12
L0650C ; Beep error
ADD.L D3,D3
ADD.L D3,$58(A6) ; Arithmetic stack
L06512 ADDA.W #$18,A7
MOVEM.L (A7)+,D4-D7/A3-A5
TST.L D0
RTS
BEEP:
JSR CA_GTINT(PC) ;*/undomodify BSR CA_GTINT
MOVEM.L D4-D7/A3-A5,-(A7)
ADDA.W #$FFE8,A7
MOVEA.L A7,A3
BNE.S L0650C
MOVEQ #-15,D0 ; Bad parameter
CMPI.W #0,D3
BEQ.S L065A8
CMPI.W #1,D3
BEQ.S L0650C
CMPI.W #3,D3
BEQ.S L0650C
CMPI.W #4,D3
BEQ.S L0650C
CMPI.W #8,D3
BGT.S L0650C
LEA L064FC(PC),A5
MOVEQ #1,D2
L06554 MOVE.W 0(A6,A1.L),D0
CMPI.W #2,D2
BEQ.S L06564
CMPI.W #3,D2
BNE.S L06566
L06564 ADDQ.W #1,D0
L06566:
ROR.W #8,D0
JSR L065C0(PC) ;*/undomodify BSR.S L065C0
;*/undomodify nop
ADDA.W #$0002,A1
CMP.W D3,D2
BLE.S L06554
CMPI.W #$0003,D2
BEQ.S L06582
L0657A:
MOVEQ #0,D0
CMPI.W #$0008,D2
BGT.S L06588
L06582:
JSR L065C0(PC) ;*/undomodify BSR.S L065C0
;*/undomodify nop
BRA.S L0657A
L06588:
MOVE.B #$0A,(A3)
MOVE.B #$10,1(A3)
MOVE.L #$4444AA66,2(A3)
MOVE.B #1,$16(A3)
MOVEQ #$11,D0 ; MT.IPCOM send command (A3)
; to IPC
TRAP #1
BRA L0650C
L065A8 ; stop beeper
MOVE.B #$0B,(A3)
MOVE.B #0,1(A3)
MOVE.B #1,6(A3)
MOVEQ #$11,D0 ; MT.IPCOM send command (A3)
; to IPC
TRAP #1
BRA L06512
L065C0 MOVEA.W (A5)+,A4
MOVE.W D0,$06(A3,A4.W)
ADDQ.W #1,D2
RTS
BAS_CALL:
JSR CA_GTLIN(PC) ;*/undomodify BSR CA_GTLIN
BNE.S L065E4
LSL.L #2,D3
BEQ.S L065E2
ADD.L D3,BV_RIP(A6) ;arith stack
MOVE.L 0(A6,A1.L),-(A7)
MOVEM.L 4(A6,A1.L),D1-D7/A0-A5
L065E2 MOVEQ #-15,D0 ; bad parameter
L065E4 RTS
; --------------------------------------------------------------
;*/endfile